home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / Intrinsic.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  63KB  |  2,562 lines

  1. /* $Xorg: Intrinsic.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
  2.  
  3. /***********************************************************
  4. Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  5.  
  6.             All Rights Reserved
  7.  
  8. Permission to use, copy, modify, and distribute this software and its 
  9. documentation for any purpose and without fee is hereby granted, 
  10. provided that the above copyright notice appear in all copies and that
  11. both that copyright notice and this permission notice appear in 
  12. supporting documentation, and that the name Digital not be
  13. used in advertising or publicity pertaining to distribution of the
  14. software without specific, written prior permission.  
  15.  
  16. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  17. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  18. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  19. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  20. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  21. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  22. SOFTWARE.
  23.  
  24. ******************************************************************/
  25.  
  26. /*
  27.  
  28. Copyright 1987, 1988, 1994, 1998  The Open Group
  29.  
  30. Permission to use, copy, modify, distribute, and sell this software and its
  31. documentation for any purpose is hereby granted without fee, provided that
  32. the above copyright notice appear in all copies and that both that
  33. copyright notice and this permission notice appear in supporting
  34. documentation.
  35.  
  36. The above copyright notice and this permission notice shall be included in
  37. all copies or substantial portions of the Software.
  38.  
  39. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  40. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  41. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  42. OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  43. AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  44. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  45.  
  46. Except as contained in this notice, the name of The Open Group shall not be
  47. used in advertising or otherwise to promote the sale, use or other dealings
  48. in this Software without prior written authorization from The Open Group.
  49.  
  50. */
  51. /* $XFree86: xc/lib/Xt/Intrinsic.h,v 3.8 2001/12/14 19:56:22 dawes Exp $ */
  52.  
  53. #ifndef _XtIntrinsic_h
  54. #define _XtIntrinsic_h
  55.  
  56. #include    <X11/Xlib.h>
  57. #include    <X11/Xutil.h>
  58. #include    <X11/Xresource.h>
  59. #include    <X11/Xfuncproto.h>
  60. #ifdef XT_BC
  61. #include <X11/Xos.h>        /* for R4 compatibility */
  62. #else
  63. #include <X11/Xosdefs.h>
  64. #include <string.h>        /* for XtNewString */
  65. #endif /* XT_BC else */
  66.  
  67. #define XtSpecificationRelease 6
  68.  
  69. typedef char *String;
  70.  
  71. /* We do this in order to get "const" declarations to work right.  We
  72.  * use _XtString instead of String so that C++ applications can
  73.  * #define String to something else if they choose, to avoid conflicts
  74.  * with other C++ libraries.
  75.  */
  76. #define _XtString char*
  77.  
  78. /* _Xt names are private to Xt implementation, do not use in client code */
  79. #if NeedWidePrototypes
  80. #define _XtBoolean    int
  81. #define _XtDimension    unsigned int
  82. #define _XtKeyCode    unsigned int
  83. #define _XtPosition    int
  84. #define _XtXtEnum    unsigned int
  85. #else
  86. #define _XtBoolean    Boolean
  87. #define _XtDimension    Dimension
  88. #define _XtKeyCode    KeyCode
  89. #define _XtPosition    Position
  90. #define _XtXtEnum    XtEnum
  91. #endif /* NeedWidePrototypes */
  92.  
  93. #include <stddef.h>
  94.  
  95. #ifdef VMS
  96. #define externalref globalref
  97. #define externaldef(psect) globaldef {"psect"} noshare
  98. #else
  99. #define externalref extern
  100. #define externaldef(psect)
  101. #endif /* VMS */
  102.  
  103. #ifndef FALSE
  104. #define FALSE 0
  105. #define TRUE 1
  106. #endif
  107.  
  108. #define XtNumber(arr)        ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
  109.  
  110. typedef struct _WidgetRec *Widget;
  111. typedef Widget *WidgetList;
  112. typedef struct _WidgetClassRec *WidgetClass;
  113. typedef struct _CompositeRec *CompositeWidget;
  114. typedef struct _XtActionsRec *XtActionList;
  115. typedef struct _XtEventRec *XtEventTable;
  116.  
  117. typedef struct _XtAppStruct *XtAppContext;
  118. typedef unsigned long    XtValueMask;
  119. typedef unsigned long    XtIntervalId;
  120. typedef unsigned long    XtInputId;
  121. typedef unsigned long    XtWorkProcId;
  122. typedef unsigned long    XtSignalId;
  123. typedef unsigned int    XtGeometryMask;
  124. typedef unsigned long    XtGCMask;   /* Mask of values that are used by widget*/
  125. typedef unsigned long    Pixel;        /* Index into colormap        */
  126. typedef int        XtCacheType;
  127. #define            XtCacheNone      0x001
  128. #define            XtCacheAll      0x002
  129. #define            XtCacheByDisplay  0x003
  130. #define            XtCacheRefCount      0x100
  131.  
  132. /****************************************************************
  133.  *
  134.  * System Dependent Definitions; see spec for specific range
  135.  * requirements.  Do not assume every implementation uses the
  136.  * same base types!
  137.  *
  138.  *
  139.  * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc *
  140.  * but casting to union types is not really supported.
  141.  *
  142.  * So the typedef for XtArgVal should be chosen such that
  143.  *
  144.  *    sizeof (XtArgVal) >=    sizeof(XtPointer)
  145.  *                sizeof(char *)
  146.  *                sizeof(long)
  147.  *                sizeof(int *)
  148.  *                sizeof(proc *)
  149.  *
  150.  * ArgLists rely heavily on the above typedef.
  151.  *
  152.  ****************************************************************/
  153. #ifdef CRAY
  154. typedef long        Boolean;
  155. typedef char*        XtArgVal;
  156. typedef long        XtEnum;
  157. #else
  158. typedef char        Boolean;
  159. typedef long        XtArgVal;
  160. typedef unsigned char    XtEnum;
  161. #endif
  162.  
  163. typedef unsigned int    Cardinal;
  164. typedef unsigned short    Dimension;  /* Size in pixels            */
  165. typedef short        Position;   /* Offset from 0 coordinate        */
  166.  
  167. typedef void*        XtPointer;
  168.  
  169. /* The type Opaque is NOT part of the Xt standard, do NOT use it. */
  170. /* (It remains here only for backward compatibility.) */
  171. typedef XtPointer    Opaque;
  172.  
  173. #include <X11/Core.h>
  174. #include <X11/Composite.h>
  175. #include <X11/Constraint.h>
  176. #include <X11/Object.h>
  177. #include <X11/RectObj.h>
  178.  
  179. typedef struct _TranslationData *XtTranslations;
  180. typedef struct _TranslationData *XtAccelerators;
  181. typedef unsigned int Modifiers;
  182.  
  183. typedef void (*XtActionProc)(
  184.     Widget         /* widget */,
  185.     XEvent*        /* event */,
  186.     String*        /* params */,
  187.     Cardinal*        /* num_params */
  188. );
  189.  
  190. typedef XtActionProc* XtBoundActions;
  191.  
  192. typedef struct _XtActionsRec{
  193.     String     string;
  194.     XtActionProc proc;
  195. } XtActionsRec;
  196.  
  197. typedef enum {
  198. /* address mode        parameter representation    */
  199. /* ------------        ------------------------    */
  200.     XtAddress,        /* address            */
  201.     XtBaseOffset,    /* offset            */
  202.     XtImmediate,    /* constant            */
  203.     XtResourceString,    /* resource name string        */
  204.     XtResourceQuark,    /* resource name quark        */
  205.     XtWidgetBaseOffset,    /* offset from ancestor        */
  206.     XtProcedureArg    /* procedure to invoke        */
  207. } XtAddressMode;
  208.  
  209. typedef struct {
  210.     XtAddressMode   address_mode;
  211.     XtPointer        address_id;
  212.     Cardinal        size;
  213. } XtConvertArgRec, *XtConvertArgList;
  214.  
  215. typedef void (*XtConvertArgProc)(
  216.     Widget         /* widget */,
  217.     Cardinal*        /* size */,
  218.     XrmValue*        /* value */
  219. );
  220.  
  221. typedef struct {
  222.     XtGeometryMask request_mode;
  223.     Position x, y;
  224.     Dimension width, height, border_width;
  225.     Widget sibling;
  226.     int stack_mode;   /* Above, Below, TopIf, BottomIf, Opposite, DontChange */
  227. } XtWidgetGeometry;
  228.  
  229. /* Additions to Xlib geometry requests: ask what would happen, don't do it */
  230. #define XtCWQueryOnly    (1 << 7)
  231.  
  232. /* Additions to Xlib stack modes: don't change stack order */
  233. #define XtSMDontChange    5
  234.  
  235. typedef void (*XtConverter)( /* obsolete */
  236.     XrmValue*        /* args */,
  237.     Cardinal*        /* num_args */,
  238.     XrmValue*        /* from */,
  239.     XrmValue*        /* to */
  240. );
  241.  
  242. typedef Boolean (*XtTypeConverter)(
  243.     Display*        /* dpy */,
  244.     XrmValue*        /* args */,
  245.     Cardinal*        /* num_args */,
  246.     XrmValue*        /* from */,
  247.     XrmValue*        /* to */,
  248.     XtPointer*        /* converter_data */
  249. );
  250.  
  251. typedef void (*XtDestructor)(
  252.     XtAppContext    /* app */,
  253.     XrmValue*        /* to */,
  254.     XtPointer         /* converter_data */,
  255.     XrmValue*        /* args */,
  256.     Cardinal*        /* num_args */
  257. );
  258.  
  259. typedef Opaque XtCacheRef;
  260.  
  261. typedef Opaque XtActionHookId;
  262.  
  263. typedef void (*XtActionHookProc)(
  264.     Widget        /* w */,
  265.     XtPointer        /* client_data */,
  266.     String        /* action_name */,
  267.     XEvent*        /* event */,
  268.     String*        /* params */,
  269.     Cardinal*        /* num_params */
  270. );
  271.  
  272. typedef unsigned long XtBlockHookId;
  273.  
  274. typedef void (*XtBlockHookProc)(
  275.     XtPointer        /* client_data */
  276. );
  277.  
  278. typedef void (*XtKeyProc)(
  279.     Display*        /* dpy */,
  280.     _XtKeyCode         /* keycode */,
  281.     Modifiers        /* modifiers */,
  282.     Modifiers*        /* modifiers_return */,
  283.     KeySym*        /* keysym_return */
  284. );
  285.  
  286. typedef void (*XtCaseProc)(
  287.     Display*        /* display */,
  288.     KeySym        /* keysym */,
  289.     KeySym*        /* lower_return */,
  290.     KeySym*        /* upper_return */
  291. );
  292.  
  293. typedef void (*XtEventHandler)(
  294.     Widget         /* widget */,
  295.     XtPointer         /* closure */,
  296.     XEvent*        /* event */,
  297.     Boolean*        /* continue_to_dispatch */
  298. );
  299. typedef unsigned long EventMask;
  300.  
  301. typedef enum {XtListHead, XtListTail } XtListPosition;
  302.  
  303. typedef unsigned long    XtInputMask;
  304. #define XtInputNoneMask        0L
  305. #define XtInputReadMask        (1L<<0)
  306. #define XtInputWriteMask    (1L<<1)
  307. #define XtInputExceptMask    (1L<<2)
  308.  
  309. typedef void (*XtTimerCallbackProc)(
  310.     XtPointer         /* closure */,
  311.     XtIntervalId*    /* id */
  312. );
  313.  
  314. typedef void (*XtInputCallbackProc)(
  315.     XtPointer         /* closure */,
  316.     int*        /* source */,
  317.     XtInputId*        /* id */
  318. );
  319.  
  320. typedef void (*XtSignalCallbackProc)(
  321.     XtPointer        /* closure */,
  322.     XtSignalId*        /* id */
  323. );
  324.  
  325. typedef struct {
  326.     String    name;
  327.     XtArgVal    value;
  328. } Arg, *ArgList;
  329.  
  330. typedef XtPointer    XtVarArgsList;
  331.  
  332. typedef void (*XtCallbackProc)(
  333.     Widget         /* widget */,
  334.     XtPointer         /* closure */,    /* data the application registered */
  335.     XtPointer         /* call_data */    /* callback specific data */
  336. );
  337.  
  338. typedef struct _XtCallbackRec {
  339.     XtCallbackProc  callback;
  340.     XtPointer        closure;
  341. } XtCallbackRec, *XtCallbackList;
  342.  
  343. typedef enum {
  344.     XtCallbackNoList,
  345.     XtCallbackHasNone,
  346.     XtCallbackHasSome
  347. } XtCallbackStatus;
  348.  
  349. typedef enum  {
  350.     XtGeometryYes,      /* Request accepted. */
  351.     XtGeometryNo,      /* Request denied. */
  352.     XtGeometryAlmost,      /* Request denied, but willing to take replyBox. */
  353.     XtGeometryDone      /* Request accepted and done. */
  354. } XtGeometryResult;
  355.  
  356. typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
  357.  
  358. typedef struct {
  359.     Widget  shell_widget;
  360.     Widget  enable_widget;
  361. } XtPopdownIDRec, *XtPopdownID;
  362.  
  363. typedef struct _XtResource {
  364.     String    resource_name;    /* Resource name                */
  365.     String    resource_class;    /* Resource class                */
  366.     String    resource_type;    /* Representation type desired            */
  367.     Cardinal    resource_size;    /* Size in bytes of representation        */
  368.     Cardinal    resource_offset;/* Offset from base to put resource value   */
  369.     String    default_type;    /* representation type of specified default */
  370.     XtPointer    default_addr;    /* Address of default resource            */
  371. } XtResource, *XtResourceList;
  372.  
  373. typedef void (*XtResourceDefaultProc)(
  374.     Widget    /* widget */,
  375.     int        /* offset */,
  376.     XrmValue*    /* value */
  377. );
  378.  
  379. typedef String (*XtLanguageProc)(
  380.     Display*    /* dpy */,
  381.     String    /* xnl */,
  382.     XtPointer    /* client_data */
  383. );
  384.  
  385. typedef void (*XtErrorMsgHandler)(
  386.     String         /* name */,
  387.     String        /* type */,
  388.     String        /* class */,
  389.     String        /* default */,
  390.     String*        /* params */,
  391.     Cardinal*        /* num_params */
  392. );
  393.  
  394. typedef void (*XtErrorHandler)(
  395.   String        /* msg */
  396. );
  397.  
  398. typedef void (*XtCreatePopupChildProc)(
  399.     Widget    /* shell */
  400. );
  401.  
  402. typedef Boolean (*XtWorkProc)(
  403.     XtPointer         /* closure */    /* data the application registered */
  404. );
  405.  
  406. typedef struct {
  407.     char match;
  408.     String substitution;
  409. } SubstitutionRec, *Substitution;
  410.  
  411. typedef Boolean (*XtFilePredicate)(
  412.    String /* filename */
  413. );
  414.  
  415. typedef XtPointer XtRequestId;
  416.  
  417. typedef Boolean (*XtConvertSelectionProc)(
  418.     Widget         /* widget */,
  419.     Atom*        /* selection */,
  420.     Atom*        /* target */,
  421.     Atom*        /* type_return */,
  422.     XtPointer*        /* value_return */,
  423.     unsigned long*    /* length_return */,
  424.     int*        /* format_return */
  425. );
  426.  
  427. typedef void (*XtLoseSelectionProc)(
  428.     Widget         /* widget */,
  429.     Atom*        /* selection */
  430. );
  431.  
  432. typedef void (*XtSelectionDoneProc)(
  433.     Widget         /* widget */,
  434.     Atom*        /* selection */,
  435.     Atom*        /* target */
  436. );
  437.  
  438. typedef void (*XtSelectionCallbackProc)(
  439.     Widget         /* widget */,
  440.     XtPointer         /* closure */,
  441.     Atom*        /* selection */,
  442.     Atom*        /* type */,
  443.     XtPointer         /* value */,
  444.     unsigned long*    /* length */,
  445.     int*        /* format */
  446. );
  447.  
  448. typedef void (*XtLoseSelectionIncrProc)(
  449.     Widget         /* widget */,
  450.     Atom*        /* selection */,
  451.     XtPointer         /* client_data */
  452. );
  453.  
  454. typedef void (*XtSelectionDoneIncrProc)(
  455.     Widget         /* widget */,
  456.     Atom*        /* selection */,
  457.     Atom*        /* target */,
  458.     XtRequestId*    /* receiver_id */,
  459.     XtPointer         /* client_data */
  460. );
  461.  
  462. typedef Boolean (*XtConvertSelectionIncrProc)(
  463.     Widget         /* widget */,
  464.     Atom*        /* selection */,
  465.     Atom*        /* target */,
  466.     Atom*        /* type */,
  467.     XtPointer*        /* value */,
  468.     unsigned long*    /* length */,
  469.     int*        /* format */,
  470.     unsigned long*    /* max_length */,
  471.     XtPointer         /* client_data */,
  472.     XtRequestId*    /* receiver_id */
  473. );
  474.  
  475. typedef void (*XtCancelConvertSelectionProc)(
  476.     Widget         /* widget */,
  477.     Atom*        /* selection */,
  478.     Atom*        /* target */,
  479.     XtRequestId*    /* receiver_id */,
  480.     XtPointer         /* client_data */
  481. );
  482.  
  483. typedef Boolean (*XtEventDispatchProc)(
  484.     XEvent*        /* event */
  485. );
  486.  
  487. typedef void (*XtExtensionSelectProc)(
  488.     Widget        /* widget */,
  489.     int*        /* event_types */,
  490.     XtPointer*        /* select_data */,
  491.     int            /* count */,
  492.     XtPointer        /* client_data */
  493. );
  494.  
  495. /***************************************************************
  496.  *
  497.  * Exported Interfaces
  498.  *
  499.  ****************************************************************/
  500.  
  501. _XFUNCPROTOBEGIN
  502.  
  503. extern Boolean XtConvertAndStore(
  504.     Widget         /* widget */,
  505.     _Xconst _XtString     /* from_type */,
  506.     XrmValue*        /* from */,
  507.     _Xconst _XtString     /* to_type */,
  508.     XrmValue*        /* to_in_out */
  509. );
  510.  
  511. extern Boolean XtCallConverter(
  512.     Display*        /* dpy */,
  513.     XtTypeConverter     /* converter */,
  514.     XrmValuePtr     /* args */,
  515.     Cardinal         /* num_args */,
  516.     XrmValuePtr     /* from */,
  517.     XrmValue*        /* to_in_out */,
  518.     XtCacheRef*        /* cache_ref_return */
  519. );
  520.  
  521. extern Boolean XtDispatchEvent(
  522.     XEvent*         /* event */
  523. );
  524.  
  525. extern Boolean XtCallAcceptFocus(
  526.     Widget         /* widget */,
  527.     Time*        /* time */
  528. );
  529.  
  530. extern Boolean XtPeekEvent( /* obsolete */
  531.     XEvent*        /* event_return */
  532. );
  533.  
  534. extern Boolean XtAppPeekEvent(
  535.     XtAppContext     /* app_context */,
  536.     XEvent*        /* event_return */
  537. );
  538.  
  539. extern Boolean XtIsSubclass(
  540.     Widget         /* widget */,
  541.     WidgetClass     /* widgetClass */
  542. );
  543.  
  544. extern Boolean XtIsObject(
  545.     Widget         /* object */
  546. );
  547.  
  548. extern Boolean _XtCheckSubclassFlag( /* implementation-private */
  549.     Widget        /* object */,
  550.     _XtXtEnum        /* type_flag */
  551. );
  552.  
  553. extern Boolean _XtIsSubclassOf( /* implementation-private */
  554.     Widget        /* object */,
  555.     WidgetClass        /* widget_class */,
  556.     WidgetClass        /* flag_class */,
  557.     _XtXtEnum        /* type_flag */
  558. );
  559.  
  560. extern Boolean XtIsManaged(
  561.     Widget         /* rectobj */
  562. );
  563.  
  564. extern Boolean XtIsRealized(
  565.     Widget         /* widget */
  566. );
  567.  
  568. extern Boolean XtIsSensitive(
  569.     Widget         /* widget */
  570. );
  571.  
  572. extern Boolean XtOwnSelection(
  573.     Widget         /* widget */,
  574.     Atom         /* selection */,
  575.     Time         /* time */,
  576.     XtConvertSelectionProc /* convert */,
  577.     XtLoseSelectionProc    /* lose */,
  578.     XtSelectionDoneProc /* done */
  579. );
  580.  
  581. extern Boolean XtOwnSelectionIncremental(
  582.     Widget         /* widget */,
  583.     Atom         /* selection */,
  584.     Time         /* time */,
  585.     XtConvertSelectionIncrProc    /* convert_callback */,
  586.     XtLoseSelectionIncrProc    /* lose_callback */,
  587.     XtSelectionDoneIncrProc    /* done_callback */,
  588.     XtCancelConvertSelectionProc /* cancel_callback */,
  589.     XtPointer         /* client_data */
  590. );
  591.  
  592. extern XtGeometryResult XtMakeResizeRequest(
  593.     Widget         /* widget */,
  594.     _XtDimension    /* width */,
  595.     _XtDimension    /* height */,
  596.     Dimension*        /* width_return */,
  597.     Dimension*        /* height_return */
  598. );
  599.  
  600. extern void XtTranslateCoords(
  601.     Widget         /* widget */,
  602.     _XtPosition        /* x */,
  603.     _XtPosition        /* y */,
  604.     Position*        /* rootx_return */,
  605.     Position*        /* rooty_return */
  606. );
  607.  
  608. extern KeySym* XtGetKeysymTable(
  609.     Display*        /* dpy */,
  610.     KeyCode*        /* min_keycode_return */,
  611.     int*        /* keysyms_per_keycode_return */
  612. );
  613.  
  614. extern void XtKeysymToKeycodeList(
  615.     Display*        /* dpy */,
  616.     KeySym         /* keysym */,
  617.     KeyCode**        /* keycodes_return */,
  618.     Cardinal*        /* keycount_return */
  619. );
  620.  
  621. extern void XtStringConversionWarning( /* obsolete */
  622.     _Xconst _XtString    /* from_value */,
  623.     _Xconst _XtString    /* to_type */
  624. );
  625.  
  626. extern void XtDisplayStringConversionWarning(
  627.     Display*         /* dpy */,
  628.     _Xconst _XtString    /* from_value */,
  629.     _Xconst _XtString    /* to_type */
  630. );
  631.  
  632. externalref XtConvertArgRec const colorConvertArgs[];
  633. externalref XtConvertArgRec const screenConvertArg[];
  634.  
  635. extern void XtAppAddConverter( /* obsolete */
  636.     XtAppContext    /* app_context */,
  637.     _Xconst _XtString    /* from_type */,
  638.     _Xconst _XtString    /* to_type */,
  639.     XtConverter     /* converter */,
  640.     XtConvertArgList    /* convert_args */,
  641.     Cardinal         /* num_args */
  642. );
  643.  
  644. extern void XtAddConverter( /* obsolete */
  645.     _Xconst _XtString    /* from_type */,
  646.     _Xconst _XtString     /* to_type */,
  647.     XtConverter     /* converter */,
  648.     XtConvertArgList     /* convert_args */,
  649.     Cardinal         /* num_args */
  650. );
  651.  
  652. extern void XtSetTypeConverter(
  653.     _Xconst _XtString     /* from_type */,
  654.     _Xconst _XtString     /* to_type */,
  655.     XtTypeConverter     /* converter */,
  656.     XtConvertArgList     /* convert_args */,
  657.     Cardinal         /* num_args */,
  658.     XtCacheType     /* cache_type */,
  659.     XtDestructor     /* destructor */
  660. );
  661.  
  662. extern void XtAppSetTypeConverter(
  663.     XtAppContext     /* app_context */,
  664.     _Xconst _XtString     /* from_type */,
  665.     _Xconst _XtString     /* to_type */,
  666.     XtTypeConverter     /* converter */,
  667.     XtConvertArgList     /* convert_args */,
  668.     Cardinal         /* num_args */,
  669.     XtCacheType     /* cache_type */,
  670.     XtDestructor     /* destructor */
  671. );
  672.  
  673. extern void XtConvert( /* obsolete */
  674.     Widget         /* widget */,
  675.     _Xconst _XtString     /* from_type */,
  676.     XrmValue*        /* from */,
  677.     _Xconst _XtString     /* to_type */,
  678.     XrmValue*        /* to_return */
  679. );
  680.  
  681. extern void XtDirectConvert( /* obsolete */
  682.     XtConverter     /* converter */,
  683.     XrmValuePtr     /* args */,
  684.     Cardinal         /* num_args */,
  685.     XrmValuePtr     /* from */,
  686.     XrmValue*        /* to_return */
  687. );
  688.  
  689. /****************************************************************
  690.  *
  691.  * Translation Management
  692.  *
  693.  ****************************************************************/
  694.  
  695. extern XtTranslations XtParseTranslationTable(
  696.     _Xconst _XtString    /* table */
  697. );
  698.  
  699. extern XtAccelerators XtParseAcceleratorTable(
  700.     _Xconst _XtString    /* source */
  701. );
  702.  
  703. extern void XtOverrideTranslations(
  704.     Widget         /* widget */,
  705.     XtTranslations     /* translations */
  706. );
  707.  
  708. extern void XtAugmentTranslations(
  709.     Widget         /* widget */,
  710.     XtTranslations     /* translations */
  711. );
  712.  
  713. extern void XtInstallAccelerators(
  714.     Widget         /* destination */,
  715.     Widget        /* source */
  716. );
  717.  
  718. extern void XtInstallAllAccelerators(
  719.     Widget         /* destination */,
  720.     Widget        /* source */
  721. );
  722.  
  723. extern void XtUninstallTranslations(
  724.     Widget         /* widget */
  725. );
  726.  
  727. extern void XtAppAddActions(
  728.     XtAppContext     /* app_context */,
  729.     XtActionList     /* actions */,
  730.     Cardinal         /* num_actions */
  731. );
  732.  
  733. extern void XtAddActions( /* obsolete */
  734.     XtActionList     /* actions */,
  735.     Cardinal         /* num_actions */
  736. );
  737.  
  738. extern XtActionHookId XtAppAddActionHook(
  739.     XtAppContext     /* app_context */,
  740.     XtActionHookProc     /* proc */,
  741.     XtPointer         /* client_data */
  742. );
  743.  
  744. extern void XtRemoveActionHook(
  745.     XtActionHookId     /* id */
  746. );
  747.  
  748. extern void XtGetActionList(
  749.     WidgetClass        /* widget_class */,
  750.     XtActionList*    /* actions_return */,
  751.     Cardinal*        /* num_actions_return */
  752. );
  753.  
  754. extern void XtCallActionProc(
  755.     Widget        /* widget */,
  756.     _Xconst _XtString    /* action */,
  757.     XEvent*        /* event */,
  758.     String*        /* params */,
  759.     Cardinal        /* num_params */
  760. );
  761.  
  762. extern void XtRegisterGrabAction(
  763.     XtActionProc     /* action_proc */,
  764.     _XtBoolean         /* owner_events */,
  765.     unsigned int     /* event_mask */,
  766.     int            /* pointer_mode */,
  767.     int             /* keyboard_mode */
  768. );
  769.  
  770. extern void XtSetMultiClickTime(
  771.     Display*        /* dpy */,
  772.     int         /* milliseconds */
  773. );
  774.  
  775. extern int XtGetMultiClickTime(
  776.     Display*        /* dpy */
  777. );
  778.  
  779. extern KeySym XtGetActionKeysym(
  780.     XEvent*        /* event */,
  781.     Modifiers*        /* modifiers_return */
  782. );
  783.  
  784. /***************************************************************
  785.  *
  786.  * Keycode and Keysym procedures for translation management
  787.  *
  788.  ****************************************************************/
  789.  
  790. extern void XtTranslateKeycode(
  791.     Display*        /* dpy */,
  792.     _XtKeyCode         /* keycode */,
  793.     Modifiers         /* modifiers */,
  794.     Modifiers*        /* modifiers_return */,
  795.     KeySym*        /* keysym_return */
  796. );
  797.  
  798. extern void XtTranslateKey(
  799.     Display*        /* dpy */,
  800.     _XtKeyCode        /* keycode */,
  801.     Modifiers        /* modifiers */,
  802.     Modifiers*        /* modifiers_return */,
  803.     KeySym*        /* keysym_return */
  804. );
  805.  
  806. extern void XtSetKeyTranslator(
  807.     Display*        /* dpy */,
  808.     XtKeyProc         /* proc */
  809. );
  810.  
  811. extern void XtRegisterCaseConverter(
  812.     Display*        /* dpy */,
  813.     XtCaseProc         /* proc */,
  814.     KeySym         /* start */,
  815.     KeySym         /* stop */
  816. );
  817.  
  818. extern void XtConvertCase(
  819.     Display*        /* dpy */,
  820.     KeySym         /* keysym */,
  821.     KeySym*        /* lower_return */,
  822.     KeySym*        /* upper_return */
  823. );
  824.  
  825. /****************************************************************
  826.  *
  827.  * Event Management
  828.  *
  829.  ****************************************************************/
  830.  
  831. /* XtAllEvents is valid only for XtRemoveEventHandler and
  832.  * XtRemoveRawEventHandler; don't use it to select events!
  833.  */
  834. #define XtAllEvents ((EventMask) -1L)
  835.  
  836. extern void XtAddEventHandler(
  837.     Widget         /* widget */,
  838.     EventMask         /* event_mask */,
  839.     _XtBoolean         /* nonmaskable */,
  840.     XtEventHandler     /* proc */,
  841.     XtPointer         /* closure */
  842. );
  843.  
  844. extern void XtRemoveEventHandler(
  845.     Widget         /* widget */,
  846.     EventMask         /* event_mask */,
  847.     _XtBoolean         /* nonmaskable */,
  848.     XtEventHandler     /* proc */,
  849.     XtPointer         /* closure */
  850. );
  851.  
  852. extern void XtAddRawEventHandler(
  853.     Widget         /* widget */,
  854.     EventMask         /* event_mask */,
  855.     _XtBoolean         /* nonmaskable */,
  856.     XtEventHandler     /* proc */,
  857.     XtPointer         /* closure */
  858. );
  859.  
  860. extern void XtRemoveRawEventHandler(
  861.     Widget         /* widget */,
  862.     EventMask         /* event_mask */,
  863.     _XtBoolean         /* nonmaskable */,
  864.     XtEventHandler     /* proc */,
  865.     XtPointer         /* closure */
  866. );
  867.  
  868. extern void XtInsertEventHandler(
  869.     Widget         /* widget */,
  870.     EventMask         /* event_mask */,
  871.     _XtBoolean         /* nonmaskable */,
  872.     XtEventHandler     /* proc */,
  873.     XtPointer         /* closure */,
  874.     XtListPosition     /* position */
  875. );
  876.  
  877. extern void XtInsertRawEventHandler(
  878.     Widget         /* widget */,
  879.     EventMask         /* event_mask */,
  880.     _XtBoolean         /* nonmaskable */,
  881.     XtEventHandler     /* proc */,
  882.     XtPointer         /* closure */,
  883.     XtListPosition     /* position */
  884. );
  885.  
  886. extern XtEventDispatchProc XtSetEventDispatcher(
  887.     Display*        /* dpy */,
  888.     int            /* event_type */,
  889.     XtEventDispatchProc    /* proc */
  890. );
  891.  
  892. extern Boolean XtDispatchEventToWidget(
  893.     Widget        /* widget */,
  894.     XEvent*        /* event */
  895. );
  896.  
  897. extern void XtInsertEventTypeHandler(
  898.     Widget        /* widget */,
  899.     int            /* type */,
  900.     XtPointer        /* select_data */,
  901.     XtEventHandler    /* proc */,
  902.     XtPointer        /* closure */,
  903.     XtListPosition    /* position */
  904. );
  905.  
  906. extern void XtRemoveEventTypeHandler(
  907.     Widget        /* widget */,
  908.     int            /* type */,
  909.     XtPointer        /* select_data */,
  910.     XtEventHandler    /* proc */,
  911.     XtPointer        /* closure */
  912. );
  913.  
  914. extern EventMask XtBuildEventMask(
  915.     Widget         /* widget */
  916. );
  917.  
  918. extern void XtRegisterExtensionSelector(
  919.     Display*        /* dpy */,
  920.     int            /* min_event_type */,
  921.     int            /* max_event_type */,
  922.     XtExtensionSelectProc /* proc */,
  923.     XtPointer        /* client_data */
  924. );
  925.  
  926. extern void XtAddGrab(
  927.     Widget         /* widget */,
  928.     _XtBoolean         /* exclusive */,
  929.     _XtBoolean         /* spring_loaded */
  930. );
  931.  
  932. extern void XtRemoveGrab(
  933.     Widget         /* widget */
  934. );
  935.  
  936. extern void XtProcessEvent( /* obsolete */
  937.     XtInputMask         /* mask */
  938. );
  939.  
  940. extern void XtAppProcessEvent(
  941.     XtAppContext         /* app_context */,
  942.     XtInputMask         /* mask */
  943. );
  944.  
  945. extern void XtMainLoop( /* obsolete */
  946.     void
  947. );
  948.  
  949. extern void XtAppMainLoop(
  950.     XtAppContext         /* app_context */
  951. );
  952.  
  953. extern void XtAddExposureToRegion(
  954.     XEvent*        /* event */,
  955.     Region         /* region */
  956. );
  957.  
  958. extern void XtSetKeyboardFocus(
  959.     Widget        /* subtree */,
  960.     Widget         /* descendent */
  961. );
  962.  
  963. extern Widget XtGetKeyboardFocusWidget(
  964.     Widget        /* widget */
  965. );
  966.  
  967. extern XEvent* XtLastEventProcessed(
  968.     Display*        /* dpy */
  969. );
  970.  
  971. extern Time XtLastTimestampProcessed(
  972.     Display*        /* dpy */
  973. );
  974.  
  975. /****************************************************************
  976.  *
  977.  * Event Gathering Routines
  978.  *
  979.  ****************************************************************/
  980.  
  981. extern XtIntervalId XtAddTimeOut( /* obsolete */
  982.     unsigned long     /* interval */,
  983.     XtTimerCallbackProc /* proc */,
  984.     XtPointer         /* closure */
  985. );
  986.  
  987. extern XtIntervalId XtAppAddTimeOut(
  988.     XtAppContext     /* app_context */,
  989.     unsigned long     /* interval */,
  990.     XtTimerCallbackProc /* proc */,
  991.     XtPointer         /* closure */
  992. );
  993.  
  994. extern void XtRemoveTimeOut(
  995.     XtIntervalId     /* timer */
  996. );
  997.  
  998. extern XtInputId XtAddInput( /* obsolete */
  999.     int         /* source */,
  1000.     XtPointer         /* condition */,
  1001.     XtInputCallbackProc /* proc */,
  1002.     XtPointer         /* closure */
  1003. );
  1004.  
  1005. extern XtInputId XtAppAddInput(
  1006.     XtAppContext           /* app_context */,
  1007.     int         /* source */,
  1008.     XtPointer         /* condition */,
  1009.     XtInputCallbackProc /* proc */,
  1010.     XtPointer         /* closure */
  1011. );
  1012.  
  1013. extern void XtRemoveInput(
  1014.     XtInputId         /* id */
  1015. );
  1016.  
  1017. extern XtSignalId XtAppAddSignal(
  1018.     XtAppContext           /* app_context */,
  1019.     XtSignalCallbackProc /* proc */,
  1020.     XtPointer         /* closure */
  1021. );
  1022.  
  1023. extern void XtRemoveSignal(
  1024.     XtSignalId         /* id */
  1025. );
  1026.  
  1027. extern void XtNoticeSignal(
  1028.     XtSignalId        /* id */
  1029. );
  1030.  
  1031. extern void XtNextEvent( /* obsolete */
  1032.     XEvent*         /* event */
  1033. );
  1034.  
  1035. extern void XtAppNextEvent(
  1036.     XtAppContext     /* app_context */,
  1037.     XEvent*        /* event_return */
  1038. );
  1039.  
  1040. #define XtIMXEvent        1
  1041. #define XtIMTimer        2
  1042. #define XtIMAlternateInput    4
  1043. #define XtIMSignal        8
  1044. #define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal)
  1045.  
  1046. extern Boolean XtPending( /* obsolete */
  1047.     void
  1048. );
  1049.  
  1050. extern XtInputMask XtAppPending(
  1051.     XtAppContext     /* app_context */
  1052. );
  1053.  
  1054. extern XtBlockHookId XtAppAddBlockHook(
  1055.     XtAppContext     /* app_context */,
  1056.     XtBlockHookProc     /* proc */,
  1057.     XtPointer         /* client_data */
  1058. );
  1059.  
  1060. extern void XtRemoveBlockHook(
  1061.     XtBlockHookId     /* id */
  1062. );
  1063.  
  1064. /****************************************************************
  1065.  *
  1066.  * Random utility routines
  1067.  *
  1068.  ****************************************************************/
  1069.  
  1070. #define XtIsRectObj(object)    (_XtCheckSubclassFlag(object, (XtEnum)0x02))
  1071. #define XtIsWidget(object)    (_XtCheckSubclassFlag(object, (XtEnum)0x04))
  1072. #define XtIsComposite(widget)    (_XtCheckSubclassFlag(widget, (XtEnum)0x08))
  1073. #define XtIsConstraint(widget)    (_XtCheckSubclassFlag(widget, (XtEnum)0x10))
  1074. #define XtIsShell(widget)    (_XtCheckSubclassFlag(widget, (XtEnum)0x20))
  1075. #define XtIsOverrideShell(widget) \
  1076.     (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \
  1077.              (WidgetClass)shellWidgetClass, (XtEnum)0x20))
  1078. #define XtIsWMShell(widget)    (_XtCheckSubclassFlag(widget, (XtEnum)0x40))
  1079. #define XtIsVendorShell(widget)    \
  1080.     (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \
  1081.              (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
  1082. #define XtIsTransientShell(widget) \
  1083.     (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \
  1084.              (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
  1085. #define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80))
  1086. #define XtIsApplicationShell(widget) \
  1087.     (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \
  1088.              (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
  1089. #define XtIsSessionShell(widget) \
  1090.     (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \
  1091.              (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
  1092.  
  1093. extern void XtRealizeWidget(
  1094.     Widget         /* widget */
  1095. );
  1096.  
  1097. void XtUnrealizeWidget(
  1098.     Widget         /* widget */
  1099. );
  1100.  
  1101. extern void XtDestroyWidget(
  1102.     Widget         /* widget */
  1103. );
  1104.  
  1105. extern void XtSetSensitive(
  1106.     Widget         /* widget */,
  1107.     _XtBoolean         /* sensitive */
  1108. );
  1109.  
  1110. extern void XtSetMappedWhenManaged(
  1111.     Widget         /* widget */,
  1112.     _XtBoolean         /* mapped_when_managed */
  1113. );
  1114.  
  1115. extern Widget XtNameToWidget(
  1116.     Widget         /* reference */,
  1117.     _Xconst _XtString    /* names */
  1118. );
  1119.  
  1120. extern Widget XtWindowToWidget(
  1121.     Display*        /* display */,
  1122.     Window         /* window */
  1123. );
  1124.  
  1125. extern XtPointer XtGetClassExtension(
  1126.     WidgetClass        /* object_class */,
  1127.     Cardinal        /* byte_offset */,
  1128.     XrmQuark        /* type */,
  1129.     long        /* version */,
  1130.     Cardinal        /* record_size */
  1131. );
  1132.  
  1133. /***************************************************************
  1134.  *
  1135.  * Arg lists
  1136.  *
  1137.  ****************************************************************/
  1138.  
  1139.  
  1140. #define XtSetArg(arg, n, d) \
  1141.     ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) ))
  1142.  
  1143. extern ArgList XtMergeArgLists(
  1144.     ArgList         /* args1 */,
  1145.     Cardinal         /* num_args1 */,
  1146.     ArgList         /* args2 */,
  1147.     Cardinal         /* num_args2 */
  1148. );
  1149.  
  1150. /***************************************************************
  1151.  *
  1152.  * Vararg lists
  1153.  *
  1154.  ****************************************************************/
  1155.  
  1156. #define XtVaNestedList  "XtVaNestedList"
  1157. #define XtVaTypedArg    "XtVaTypedArg"
  1158.  
  1159. extern XtVarArgsList XtVaCreateArgsList(
  1160.     XtPointer        /*unused*/, ...
  1161. );
  1162.  
  1163. /*************************************************************
  1164.  *
  1165.  * Information routines
  1166.  *
  1167.  ************************************************************/
  1168.  
  1169. #ifndef _XtIntrinsicP_h
  1170.  
  1171. /* We're not included from the private file, so define these */
  1172.  
  1173. extern Display *XtDisplay(
  1174.     Widget         /* widget */
  1175. );
  1176.  
  1177. extern Display *XtDisplayOfObject(
  1178.     Widget         /* object */
  1179. );
  1180.  
  1181. extern Screen *XtScreen(
  1182.     Widget         /* widget */
  1183. );
  1184.  
  1185. extern Screen *XtScreenOfObject(
  1186.     Widget         /* object */
  1187. );
  1188.  
  1189. extern Window XtWindow(
  1190.     Widget         /* widget */
  1191. );
  1192.  
  1193. extern Window XtWindowOfObject(
  1194.     Widget         /* object */
  1195. );
  1196.  
  1197. extern String XtName(
  1198.     Widget         /* object */
  1199. );
  1200.  
  1201. extern WidgetClass XtSuperclass(
  1202.     Widget         /* object */
  1203. );
  1204.  
  1205. extern WidgetClass XtClass(
  1206.     Widget         /* object */
  1207. );
  1208.  
  1209. extern Widget XtParent(
  1210.     Widget         /* widget */
  1211. );
  1212.  
  1213. #endif /*_XtIntrinsicP_h*/
  1214.  
  1215. #define XtMapWidget(widget)    XMapWindow(XtDisplay(widget), XtWindow(widget))
  1216. #define XtUnmapWidget(widget)    \
  1217.         XUnmapWindow(XtDisplay(widget), XtWindow(widget))
  1218.  
  1219. extern void XtAddCallback(
  1220.     Widget         /* widget */,
  1221.     _Xconst _XtString     /* callback_name */,
  1222.     XtCallbackProc     /* callback */,
  1223.     XtPointer         /* closure */
  1224. );
  1225.  
  1226. extern void XtRemoveCallback(
  1227.     Widget         /* widget */,
  1228.     _Xconst _XtString     /* callback_name */,
  1229.     XtCallbackProc     /* callback */,
  1230.     XtPointer         /* closure */
  1231. );
  1232.  
  1233. extern void XtAddCallbacks(
  1234.     Widget         /* widget */,
  1235.     _Xconst _XtString    /* callback_name */,
  1236.     XtCallbackList     /* callbacks */
  1237. );
  1238.  
  1239. extern void XtRemoveCallbacks(
  1240.     Widget         /* widget */,
  1241.     _Xconst _XtString     /* callback_name */,
  1242.     XtCallbackList     /* callbacks */
  1243. );
  1244.  
  1245. extern void XtRemoveAllCallbacks(
  1246.     Widget         /* widget */,
  1247.     _Xconst _XtString     /* callback_name */
  1248. );
  1249.  
  1250.  
  1251. extern void XtCallCallbacks(
  1252.     Widget         /* widget */,
  1253.     _Xconst _XtString     /* callback_name */,
  1254.     XtPointer         /* call_data */
  1255. );
  1256.  
  1257. extern void XtCallCallbackList(
  1258.     Widget        /* widget */,
  1259.     XtCallbackList     /* callbacks */,
  1260.     XtPointer         /* call_data */
  1261. );
  1262.  
  1263. extern XtCallbackStatus XtHasCallbacks(
  1264.     Widget         /* widget */,
  1265.     _Xconst _XtString     /* callback_name */
  1266. );
  1267.  
  1268. /****************************************************************
  1269.  *
  1270.  * Geometry Management
  1271.  *
  1272.  ****************************************************************/
  1273.  
  1274.  
  1275. extern XtGeometryResult XtMakeGeometryRequest(
  1276.     Widget         /* widget */,
  1277.     XtWidgetGeometry*    /* request */,
  1278.     XtWidgetGeometry*    /* reply_return */
  1279. );
  1280.  
  1281. extern XtGeometryResult XtQueryGeometry(
  1282.     Widget         /* widget */,
  1283.     XtWidgetGeometry*    /* intended */,
  1284.     XtWidgetGeometry*    /* preferred_return */
  1285. );
  1286.  
  1287. extern Widget XtCreatePopupShell(
  1288.     _Xconst _XtString    /* name */,
  1289.     WidgetClass     /* widgetClass */,
  1290.     Widget         /* parent */,
  1291.     ArgList         /* args */,
  1292.     Cardinal         /* num_args */
  1293. );
  1294.  
  1295. extern Widget XtVaCreatePopupShell(
  1296.     _Xconst _XtString    /* name */,
  1297.     WidgetClass        /* widgetClass */,
  1298.     Widget        /* parent */,
  1299.     ...
  1300. );
  1301.  
  1302. extern void XtPopup(
  1303.     Widget         /* popup_shell */,
  1304.     XtGrabKind         /* grab_kind */
  1305. );
  1306.  
  1307. extern void XtPopupSpringLoaded(
  1308.     Widget         /* popup_shell */
  1309. );
  1310.  
  1311. extern void XtCallbackNone(
  1312.     Widget         /* widget */,
  1313.     XtPointer         /* closure */,
  1314.     XtPointer         /* call_data */
  1315. );
  1316.  
  1317. extern void XtCallbackNonexclusive(
  1318.     Widget         /* widget */,
  1319.     XtPointer         /* closure */,
  1320.     XtPointer         /* call_data */
  1321. );
  1322.  
  1323. extern void XtCallbackExclusive(
  1324.     Widget         /* widget */,
  1325.     XtPointer         /* closure */,
  1326.     XtPointer         /* call_data */
  1327. );
  1328.  
  1329. extern void XtPopdown(
  1330.     Widget         /* popup_shell */
  1331. );
  1332.  
  1333. extern void XtCallbackPopdown(
  1334.     Widget         /* widget */,
  1335.     XtPointer         /* closure */,
  1336.     XtPointer         /* call_data */
  1337. );
  1338.  
  1339. extern void XtMenuPopupAction(
  1340.     Widget         /* widget */,
  1341.     XEvent*        /* event */,
  1342.     String*        /* params */,
  1343.     Cardinal*        /* num_params */
  1344. );
  1345.  
  1346. extern Widget XtCreateWidget(
  1347.     _Xconst _XtString     /* name */,
  1348.     WidgetClass     /* widget_class */,
  1349.     Widget         /* parent */,
  1350.     ArgList         /* args */,
  1351.     Cardinal         /* num_args */
  1352. );
  1353.  
  1354. extern Widget XtCreateManagedWidget(
  1355.     _Xconst _XtString     /* name */,
  1356.     WidgetClass     /* widget_class */,
  1357.     Widget         /* parent */,
  1358.     ArgList         /* args */,
  1359.     Cardinal         /* num_args */
  1360. );
  1361.  
  1362. extern Widget XtVaCreateWidget(
  1363.     _Xconst _XtString    /* name */,
  1364.     WidgetClass        /* widget */,
  1365.     Widget        /* parent */,
  1366.     ...
  1367. );
  1368.  
  1369. extern Widget XtVaCreateManagedWidget(
  1370.     _Xconst _XtString    /* name */,
  1371.     WidgetClass        /* widget_class */,
  1372.     Widget        /* parent */,
  1373.     ...
  1374. );
  1375.  
  1376. extern Widget XtCreateApplicationShell( /* obsolete */
  1377.     _Xconst _XtString     /* name */,
  1378.     WidgetClass     /* widget_class */,
  1379.     ArgList         /* args */,
  1380.     Cardinal         /* num_args */
  1381. );
  1382.  
  1383. extern Widget XtAppCreateShell(
  1384.     _Xconst _XtString    /* application_name */,
  1385.     _Xconst _XtString    /* application_class */,
  1386.     WidgetClass     /* widget_class */,
  1387.     Display*        /* display */,
  1388.     ArgList         /* args */,
  1389.     Cardinal         /* num_args */
  1390. );
  1391.  
  1392. extern Widget XtVaAppCreateShell(
  1393.     _Xconst _XtString    /* application_name */,
  1394.     _Xconst _XtString    /* application_class */,
  1395.     WidgetClass        /* widget_class */,
  1396.     Display*        /* display */,
  1397.     ...
  1398. );
  1399.  
  1400. /****************************************************************
  1401.  *
  1402.  * Toolkit initialization
  1403.  *
  1404.  ****************************************************************/
  1405.  
  1406. extern void XtToolkitInitialize(
  1407.     void
  1408. );
  1409.  
  1410. extern XtLanguageProc XtSetLanguageProc(
  1411.     XtAppContext    /* app_context */,
  1412.     XtLanguageProc    /* proc */,
  1413.     XtPointer        /* client_data */
  1414. );
  1415.  
  1416. extern void XtDisplayInitialize(
  1417.     XtAppContext     /* app_context */,
  1418.     Display*        /* dpy */,
  1419.     _Xconst _XtString    /* application_name */,
  1420.     _Xconst _XtString    /* application_class */,
  1421.     XrmOptionDescRec*     /* options */,
  1422.     Cardinal         /* num_options */,
  1423.     int*        /* argc */,
  1424.     char**        /* argv */
  1425. );
  1426.  
  1427. extern Widget XtOpenApplication(
  1428.     XtAppContext*    /* app_context_return */,
  1429.     _Xconst _XtString    /* application_class */,
  1430.     XrmOptionDescList     /* options */,
  1431.     Cardinal         /* num_options */,
  1432.     int*        /* argc_in_out */,
  1433.     String*        /* argv_in_out */,
  1434.     String*        /* fallback_resources */,
  1435.     WidgetClass        /* widget_class */,
  1436.     ArgList         /* args */,
  1437.     Cardinal         /* num_args */
  1438. );
  1439.  
  1440. extern Widget XtVaOpenApplication(
  1441.     XtAppContext*    /* app_context_return */,
  1442.     _Xconst _XtString    /* application_class */,
  1443.     XrmOptionDescList    /* options */,
  1444.     Cardinal        /* num_options */,
  1445.     int*        /* argc_in_out */,
  1446.     String*        /* argv_in_out */,
  1447.     String*        /* fallback_resources */,
  1448.     WidgetClass        /* widget_class */,
  1449.     ...
  1450. );
  1451.  
  1452. extern Widget XtAppInitialize( /* obsolete */
  1453.     XtAppContext*    /* app_context_return */,
  1454.     _Xconst _XtString    /* application_class */,
  1455.     XrmOptionDescList     /* options */,
  1456.     Cardinal         /* num_options */,
  1457.     int*        /* argc_in_out */,
  1458.     String*        /* argv_in_out */,
  1459.     String*        /* fallback_resources */,
  1460.     ArgList         /* args */,
  1461.     Cardinal         /* num_args */
  1462. );
  1463.  
  1464. extern Widget XtVaAppInitialize( /* obsolete */
  1465.     XtAppContext*    /* app_context_return */,
  1466.     _Xconst _XtString    /* application_class */,
  1467.     XrmOptionDescList    /* options */,
  1468.     Cardinal        /* num_options */,
  1469.     int*        /* argc_in_out */,
  1470.     String*        /* argv_in_out */,
  1471.     String*        /* fallback_resources */,
  1472.     ...
  1473. );
  1474.  
  1475. extern Widget XtInitialize( /* obsolete */
  1476.     _Xconst _XtString     /* shell_name */,
  1477.     _Xconst _XtString     /* application_class */,
  1478.     XrmOptionDescRec*     /* options */,
  1479.     Cardinal         /* num_options */,
  1480.     int*        /* argc */,
  1481.     char**        /* argv */
  1482. );
  1483.  
  1484. extern Display *XtOpenDisplay(
  1485.     XtAppContext     /* app_context */,
  1486.     _Xconst _XtString    /* display_string */,
  1487.     _Xconst _XtString    /* application_name */,
  1488.     _Xconst _XtString    /* application_class */,
  1489.     XrmOptionDescRec*    /* options */,
  1490.     Cardinal         /* num_options */,
  1491.     int*        /* argc */,
  1492.     char**        /* argv */
  1493. );
  1494.  
  1495. extern XtAppContext XtCreateApplicationContext(
  1496.     void
  1497. );
  1498.  
  1499. extern void XtAppSetFallbackResources(
  1500.     XtAppContext     /* app_context */,
  1501.     String*        /* specification_list */
  1502. );
  1503.  
  1504. extern void XtDestroyApplicationContext(
  1505.     XtAppContext     /* app_context */
  1506. );
  1507.  
  1508. extern void XtInitializeWidgetClass(
  1509.     WidgetClass     /* widget_class */
  1510. );
  1511.  
  1512. extern XtAppContext XtWidgetToApplicationContext(
  1513.     Widget         /* widget */
  1514. );
  1515.  
  1516. extern XtAppContext XtDisplayToApplicationContext(
  1517.     Display*        /* dpy */
  1518. );
  1519.  
  1520. extern XrmDatabase XtDatabase(
  1521.     Display*        /* dpy */
  1522. );
  1523.  
  1524. extern XrmDatabase XtScreenDatabase(
  1525.     Screen*        /* screen */
  1526. );
  1527.  
  1528. extern void XtCloseDisplay(
  1529.     Display*        /* dpy */
  1530. );
  1531.  
  1532. extern void XtGetApplicationResources(
  1533.     Widget         /* widget */,
  1534.     XtPointer         /* base */,
  1535.     XtResourceList     /* resources */,
  1536.     Cardinal         /* num_resources */,
  1537.     ArgList         /* args */,
  1538.     Cardinal         /* num_args */
  1539. );
  1540.  
  1541. extern void XtVaGetApplicationResources(
  1542.     Widget        /* widget */,
  1543.     XtPointer        /* base */,
  1544.     XtResourceList    /* resources */,
  1545.     Cardinal        /* num_resources */,
  1546.     ...
  1547. );
  1548.  
  1549. extern void XtGetSubresources(
  1550.     Widget         /* widget */,
  1551.     XtPointer         /* base */,
  1552.     _Xconst _XtString     /* name */,
  1553.     _Xconst _XtString     /* class */,
  1554.     XtResourceList     /* resources */,
  1555.     Cardinal         /* num_resources */,
  1556.     ArgList         /* args */,
  1557.     Cardinal         /* num_args */
  1558. );
  1559.  
  1560. extern void XtVaGetSubresources(
  1561.     Widget        /* widget */,
  1562.     XtPointer        /* base */,
  1563.     _Xconst _XtString    /* name */,
  1564.     _Xconst _XtString    /* class */,
  1565.     XtResourceList    /* resources */,
  1566.     Cardinal        /* num_resources */,
  1567.     ...
  1568. );
  1569.  
  1570. extern void XtSetValues(
  1571.     Widget         /* widget */,
  1572.     ArgList         /* args */,
  1573.     Cardinal         /* num_args */
  1574. );
  1575.  
  1576. extern void XtVaSetValues(
  1577.     Widget        /* widget */,
  1578.     ...
  1579. );
  1580.  
  1581. extern void XtGetValues(
  1582.     Widget         /* widget */,
  1583.     ArgList         /* args */,
  1584.     Cardinal         /* num_args */
  1585. );
  1586.  
  1587. extern void XtVaGetValues(
  1588.     Widget        /* widget */,
  1589.     ...
  1590. );
  1591.  
  1592. extern void XtSetSubvalues(
  1593.     XtPointer         /* base */,
  1594.     XtResourceList     /* resources */,
  1595.     Cardinal         /* num_resources */,
  1596.     ArgList         /* args */,
  1597.     Cardinal         /* num_args */
  1598. );
  1599.  
  1600. extern void XtVaSetSubvalues(
  1601.     XtPointer        /* base */,
  1602.     XtResourceList    /* resources */,
  1603.     Cardinal        /* num_resources */,
  1604.     ...
  1605. );
  1606.  
  1607. extern void XtGetSubvalues(
  1608.     XtPointer         /* base */,
  1609.     XtResourceList     /* resources */,
  1610.     Cardinal         /* num_resources */,
  1611.     ArgList         /* args */,
  1612.     Cardinal         /* num_args */
  1613. );
  1614.  
  1615. extern void XtVaGetSubvalues(
  1616.     XtPointer        /* base */,
  1617.     XtResourceList    /* resources */,
  1618.     Cardinal        /* num_resources */,
  1619.     ...
  1620. );
  1621.  
  1622. extern void XtGetResourceList(
  1623.     WidgetClass     /* widget_class */,
  1624.     XtResourceList*    /* resources_return */,
  1625.     Cardinal*        /* num_resources_return */
  1626. );
  1627.  
  1628. extern void XtGetConstraintResourceList(
  1629.     WidgetClass     /* widget_class */,
  1630.     XtResourceList*    /* resources_return */,
  1631.     Cardinal*        /* num_resources_return */
  1632. );
  1633.  
  1634. #define XtUnspecifiedPixmap    ((Pixmap)2)
  1635. #define XtUnspecifiedShellInt    (-1)
  1636. #define XtUnspecifiedWindow    ((Window)2)
  1637. #define XtUnspecifiedWindowGroup ((Window)3)
  1638. #define XtCurrentDirectory    "XtCurrentDirectory"
  1639. #define XtDefaultForeground    "XtDefaultForeground"
  1640. #define XtDefaultBackground    "XtDefaultBackground"
  1641. #define XtDefaultFont        "XtDefaultFont"
  1642. #define XtDefaultFontSet    "XtDefaultFontSet"
  1643.  
  1644. #if defined(CRAY)
  1645. #define XtOffset(p_type,field) _Offsetof(p_type,field)
  1646. #else    /* ! CRAY */
  1647. #define XtOffset(p_type,field) \
  1648.     ((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
  1649. #endif /* !CRAY */
  1650.  
  1651. #ifdef offsetof
  1652. #define XtOffsetOf(s_type,field) offsetof(s_type,field)
  1653. #else
  1654. #define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
  1655. #endif
  1656.  
  1657. /*************************************************************
  1658.  *
  1659.  * Session Management
  1660.  *
  1661.  ************************************************************/
  1662.  
  1663. typedef struct _XtCheckpointTokenRec {
  1664.     int        save_type;
  1665.     int        interact_style;
  1666.     Boolean    shutdown;
  1667.     Boolean    fast;
  1668.     Boolean    cancel_shutdown;
  1669.     int        phase;
  1670.     int        interact_dialog_type;    /* return */
  1671.     Boolean    request_cancel;        /* return */
  1672.     Boolean    request_next_phase;    /* return */
  1673.     Boolean    save_success;        /* return */
  1674.     int        type;        /* implementation private */
  1675.     Widget    widget;        /* implementation private */
  1676. } XtCheckpointTokenRec, *XtCheckpointToken;
  1677.  
  1678. XtCheckpointToken XtSessionGetToken(
  1679.     Widget        /* widget */
  1680. );
  1681.  
  1682. void XtSessionReturnToken(
  1683.     XtCheckpointToken    /* token */
  1684. );
  1685.  
  1686. /*************************************************************
  1687.  *
  1688.  * Error Handling
  1689.  *
  1690.  ************************************************************/
  1691.  
  1692. extern XtErrorMsgHandler XtAppSetErrorMsgHandler(
  1693.     XtAppContext     /* app_context */,
  1694.     XtErrorMsgHandler     /* handler */
  1695. );
  1696.  
  1697. extern void XtSetErrorMsgHandler( /* obsolete */
  1698.     XtErrorMsgHandler     /* handler */
  1699. );
  1700.  
  1701. extern XtErrorMsgHandler XtAppSetWarningMsgHandler(
  1702.     XtAppContext     /* app_context */,
  1703.     XtErrorMsgHandler     /* handler */
  1704. );
  1705.  
  1706. extern void XtSetWarningMsgHandler( /* obsolete */
  1707.     XtErrorMsgHandler     /* handler */
  1708. );
  1709.  
  1710. extern void XtAppErrorMsg(
  1711.     XtAppContext     /* app_context */,
  1712.     _Xconst _XtString     /* name */,
  1713.     _Xconst _XtString    /* type */,
  1714.     _Xconst _XtString    /* class */,
  1715.     _Xconst _XtString    /* default */,
  1716.     String*        /* params */,
  1717.     Cardinal*        /* num_params */
  1718. );
  1719.  
  1720. extern void XtErrorMsg( /* obsolete */
  1721.     _Xconst _XtString     /* name */,
  1722.     _Xconst _XtString    /* type */,
  1723.     _Xconst _XtString    /* class */,
  1724.     _Xconst _XtString    /* default */,
  1725.     String*        /* params */,
  1726.     Cardinal*        /* num_params */
  1727. );
  1728.  
  1729. extern void XtAppWarningMsg(
  1730.     XtAppContext     /* app_context */,
  1731.     _Xconst _XtString     /* name */,
  1732.     _Xconst _XtString     /* type */,
  1733.     _Xconst _XtString     /* class */,
  1734.     _Xconst _XtString     /* default */,
  1735.     String*        /* params */,
  1736.     Cardinal*        /* num_params */
  1737. );
  1738.  
  1739. extern void XtWarningMsg( /* obsolete */
  1740.     _Xconst _XtString    /* name */,
  1741.     _Xconst _XtString    /* type */,
  1742.     _Xconst _XtString    /* class */,
  1743.     _Xconst _XtString    /* default */,
  1744.     String*        /* params */,
  1745.     Cardinal*        /* num_params */
  1746. );
  1747.  
  1748. extern XtErrorHandler XtAppSetErrorHandler(
  1749.     XtAppContext     /* app_context */,
  1750.     XtErrorHandler     /* handler */
  1751. );
  1752.  
  1753. extern void XtSetErrorHandler( /* obsolete */
  1754.     XtErrorHandler     /* handler */
  1755. );
  1756.  
  1757. extern XtErrorHandler XtAppSetWarningHandler(
  1758.     XtAppContext     /* app_context */,
  1759.     XtErrorHandler     /* handler */
  1760. );
  1761.  
  1762. extern void XtSetWarningHandler( /* obsolete */
  1763.     XtErrorHandler     /* handler */
  1764. );
  1765.  
  1766. extern void XtAppError(
  1767.     XtAppContext     /* app_context */,
  1768.     _Xconst _XtString    /* message */
  1769. );
  1770.  
  1771. extern void XtError( /* obsolete */
  1772.     _Xconst _XtString    /* message */
  1773. );
  1774.  
  1775. extern void XtAppWarning(
  1776.     XtAppContext     /* app_context */,
  1777.     _Xconst _XtString    /* message */
  1778. );
  1779.  
  1780. extern void XtWarning( /* obsolete */
  1781.     _Xconst _XtString    /* message */
  1782. );
  1783.  
  1784. extern XrmDatabase *XtAppGetErrorDatabase(
  1785.     XtAppContext     /* app_context */
  1786. );
  1787.  
  1788. extern XrmDatabase *XtGetErrorDatabase( /* obsolete */
  1789.     void
  1790. );
  1791.  
  1792. extern void XtAppGetErrorDatabaseText(
  1793.     XtAppContext     /* app_context */,
  1794.     _Xconst _XtString    /* name */,
  1795.     _Xconst _XtString    /* type */,
  1796.     _Xconst _XtString    /* class */,
  1797.     _Xconst _XtString     /* default */,
  1798.     String         /* buffer_return */,
  1799.     int         /* nbytes */,
  1800.     XrmDatabase     /* database */
  1801. );
  1802.  
  1803. extern void XtGetErrorDatabaseText( /* obsolete */
  1804.     _Xconst _XtString    /* name */,
  1805.     _Xconst _XtString    /* type */,
  1806.     _Xconst _XtString    /* class */,
  1807.     _Xconst _XtString     /* default */,
  1808.     String         /* buffer_return */,
  1809.     int         /* nbytes */
  1810. );
  1811.  
  1812. /****************************************************************
  1813.  *
  1814.  * Memory Management
  1815.  *
  1816.  ****************************************************************/
  1817.  
  1818. extern char *XtMalloc(
  1819.     Cardinal         /* size */
  1820. );
  1821.  
  1822. extern char *XtCalloc(
  1823.     Cardinal        /* num */,
  1824.     Cardinal         /* size */
  1825. );
  1826.  
  1827. extern char *XtRealloc(
  1828.     char*         /* ptr */,
  1829.     Cardinal         /* num */
  1830. );
  1831.  
  1832. extern void XtFree(
  1833.     char*        /* ptr */
  1834. );
  1835.  
  1836. #ifdef XTTRACEMEMORY
  1837.  
  1838. extern char *_XtMalloc( /* implementation-private */
  1839.     Cardinal    /* size */,
  1840.     char *    /* file */,
  1841.     int            /* line */
  1842. );
  1843.  
  1844. extern char *_XtRealloc( /* implementation-private */
  1845.     char *    /* ptr */,
  1846.     Cardinal    /* size */,
  1847.     char *    /* file */,
  1848.     int        /* line */
  1849. );
  1850.  
  1851. extern char *_XtCalloc( /* implementation-private */
  1852.     Cardinal    /* num */,
  1853.     Cardinal     /* size */,
  1854.     char *    /* file */,
  1855.     int        /* line */
  1856. );
  1857.  
  1858. extern void _XtFree( /* implementation-private */
  1859.     char *    /* ptr */
  1860. );
  1861.  
  1862. #define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__)
  1863. #define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__)
  1864. #define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__)
  1865. #define XtFree(ptr) _XtFree(ptr)
  1866.  
  1867. #endif /* ifdef XTTRACEMEMORY */
  1868.  
  1869. #define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type)))
  1870. #define XtNewString(str) \
  1871.     ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
  1872.  
  1873. /*************************************************************
  1874.  *
  1875.  *  Work procs
  1876.  *
  1877.  **************************************************************/
  1878.  
  1879. extern XtWorkProcId XtAddWorkProc( /* obsolete */
  1880.     XtWorkProc         /* proc */,
  1881.     XtPointer         /* closure */
  1882. );
  1883.  
  1884. extern XtWorkProcId XtAppAddWorkProc(
  1885.     XtAppContext     /* app_context */,
  1886.     XtWorkProc         /* proc */,
  1887.     XtPointer         /* closure */
  1888. );
  1889.  
  1890. extern void  XtRemoveWorkProc(
  1891.     XtWorkProcId     /* id */
  1892. );
  1893.  
  1894.  
  1895. /****************************************************************
  1896.  *
  1897.  * Graphic Context Management
  1898.  *****************************************************************/
  1899.  
  1900. extern GC XtGetGC(
  1901.     Widget         /* widget */,
  1902.     XtGCMask         /* valueMask */,
  1903.     XGCValues*         /* values */
  1904. );
  1905.  
  1906. extern GC XtAllocateGC(
  1907.     Widget         /* widget */,
  1908.     Cardinal        /* depth */,
  1909.     XtGCMask         /* valueMask */,
  1910.     XGCValues*         /* values */,
  1911.     XtGCMask        /* dynamicMask */,
  1912.     XtGCMask        /* unusedMask */
  1913. );
  1914.  
  1915. /* This implementation of XtDestroyGC differs from the formal specification
  1916.  * for historic backwards compatibility reasons.  As other implementations
  1917.  * may conform to the spec, use of XtReleaseGC is strongly encouraged.
  1918.  */
  1919. extern void XtDestroyGC( /* obsolete */
  1920.     GC             /* gc */
  1921. );
  1922.  
  1923. extern void XtReleaseGC(
  1924.     Widget         /* object */,
  1925.     GC             /* gc */
  1926. );
  1927.  
  1928.  
  1929.  
  1930. extern void XtAppReleaseCacheRefs(
  1931.     XtAppContext    /* app_context */,
  1932.     XtCacheRef*        /* cache_ref */
  1933. );
  1934.  
  1935. extern void XtCallbackReleaseCacheRef(
  1936.     Widget         /* widget */,
  1937.     XtPointer         /* closure */,    /* XtCacheRef */
  1938.     XtPointer         /* call_data */
  1939. );
  1940.  
  1941. extern void XtCallbackReleaseCacheRefList(
  1942.     Widget         /* widget */,
  1943.     XtPointer         /* closure */,    /* XtCacheRef* */
  1944.     XtPointer         /* call_data */
  1945. );
  1946.  
  1947. extern void XtSetWMColormapWindows(
  1948.     Widget         /* widget */,
  1949.     Widget*        /* list */,
  1950.     Cardinal        /* count */
  1951. );
  1952.  
  1953. extern String XtFindFile(
  1954.     _Xconst _XtString    /* path */,
  1955.     Substitution    /* substitutions */,
  1956.     Cardinal         /* num_substitutions */,
  1957.     XtFilePredicate    /* predicate */
  1958. );
  1959.  
  1960. extern String XtResolvePathname(
  1961.     Display*        /* dpy */,
  1962.     _Xconst _XtString    /* type */,
  1963.     _Xconst _XtString    /* filename */,
  1964.     _Xconst _XtString    /* suffix */,
  1965.     _Xconst _XtString    /* path */,
  1966.     Substitution    /* substitutions */,
  1967.     Cardinal        /* num_substitutions */,
  1968.     XtFilePredicate     /* predicate */
  1969. );
  1970.  
  1971. /****************************************************************
  1972.  *
  1973.  * Selections
  1974.  *
  1975.  *****************************************************************/
  1976.  
  1977. #define XT_CONVERT_FAIL (Atom)0x80000001
  1978.     
  1979. extern void XtDisownSelection(
  1980.     Widget         /* widget */,
  1981.     Atom         /* selection */,
  1982.     Time         /* time */
  1983. );
  1984.  
  1985. extern void XtGetSelectionValue(
  1986.     Widget         /* widget */,
  1987.     Atom         /* selection */,
  1988.     Atom         /* target */,
  1989.     XtSelectionCallbackProc /* callback */,
  1990.     XtPointer         /* closure */,
  1991.     Time         /* time */
  1992. );
  1993.  
  1994. extern void XtGetSelectionValues(
  1995.     Widget         /* widget */,
  1996.     Atom         /* selection */,
  1997.     Atom*        /* targets */,
  1998.     int         /* count */,
  1999.     XtSelectionCallbackProc /* callback */,
  2000.     XtPointer*        /* closures */,
  2001.     Time         /* time */
  2002. );
  2003.  
  2004. extern void XtAppSetSelectionTimeout(
  2005.     XtAppContext     /* app_context */,
  2006.     unsigned long     /* timeout */
  2007. );
  2008.  
  2009. extern void XtSetSelectionTimeout( /* obsolete */
  2010.     unsigned long     /* timeout */
  2011. );
  2012.  
  2013. extern unsigned long XtAppGetSelectionTimeout(
  2014.     XtAppContext     /* app_context */
  2015. );
  2016.  
  2017. extern unsigned long XtGetSelectionTimeout( /* obsolete */
  2018.     void
  2019. );
  2020.  
  2021. extern XSelectionRequestEvent *XtGetSelectionRequest(
  2022.     Widget         /* widget */,
  2023.     Atom         /* selection */,
  2024.     XtRequestId     /* request_id */
  2025. );
  2026.  
  2027. extern void XtGetSelectionValueIncremental(
  2028.     Widget         /* widget */,
  2029.     Atom         /* selection */,
  2030.     Atom         /* target */,
  2031.     XtSelectionCallbackProc /* selection_callback */,
  2032.     XtPointer         /* client_data */,
  2033.     Time         /* time */
  2034. );
  2035.  
  2036. extern void XtGetSelectionValuesIncremental(
  2037.     Widget         /* widget */,
  2038.     Atom         /* selection */,
  2039.     Atom*        /* targets */,
  2040.     int         /* count */,
  2041.     XtSelectionCallbackProc /* callback */,
  2042.     XtPointer*        /* client_data */,
  2043.     Time         /* time */
  2044. );
  2045.  
  2046. extern void XtSetSelectionParameters(
  2047.     Widget        /* requestor */,
  2048.     Atom        /* selection */,
  2049.     Atom        /* type */,
  2050.     XtPointer        /* value */,
  2051.     unsigned long    /* length */,
  2052.     int            /* format */
  2053. );
  2054.  
  2055. extern void XtGetSelectionParameters(
  2056.     Widget        /* owner */,
  2057.     Atom        /* selection */,
  2058.     XtRequestId        /* request_id */,
  2059.     Atom*        /* type_return */,
  2060.     XtPointer*        /* value_return */,
  2061.     unsigned long*    /* length_return */,
  2062.     int*        /* format_return */
  2063. );
  2064.  
  2065. extern void XtCreateSelectionRequest(
  2066.     Widget        /* requestor */,
  2067.     Atom        /* selection */
  2068. );
  2069.  
  2070. extern void XtSendSelectionRequest(
  2071.     Widget        /* requestor */,
  2072.     Atom        /* selection */,
  2073.     Time        /* time */
  2074. );
  2075.  
  2076. extern void XtCancelSelectionRequest(
  2077.     Widget        /* requestor */,
  2078.     Atom        /* selection */
  2079. );
  2080.  
  2081. extern Atom XtReservePropertyAtom(
  2082.     Widget        /* widget */
  2083. );
  2084.  
  2085. extern void XtReleasePropertyAtom(
  2086.     Widget        /* widget */,
  2087.     Atom        /* selection */
  2088. );
  2089.  
  2090. extern void XtGrabKey(
  2091.     Widget         /* widget */,
  2092.     _XtKeyCode         /* keycode */,
  2093.     Modifiers         /* modifiers */,
  2094.     _XtBoolean         /* owner_events */,
  2095.     int         /* pointer_mode */,
  2096.     int         /* keyboard_mode */
  2097. );
  2098.  
  2099. extern void XtUngrabKey(
  2100.     Widget         /* widget */,
  2101.     _XtKeyCode         /* keycode */,
  2102.     Modifiers         /* modifiers */
  2103. );
  2104.  
  2105. extern int XtGrabKeyboard(
  2106.     Widget         /* widget */,
  2107.     _XtBoolean         /* owner_events */,
  2108.     int         /* pointer_mode */,
  2109.     int         /* keyboard_mode */,
  2110.     Time         /* time */
  2111. );
  2112.  
  2113. extern void XtUngrabKeyboard(
  2114.     Widget         /* widget */,
  2115.     Time         /* time */
  2116. );
  2117.  
  2118. extern void XtGrabButton(
  2119.     Widget         /* widget */,
  2120.     int         /* button */,
  2121.     Modifiers         /* modifiers */,
  2122.     _XtBoolean         /* owner_events */,
  2123.     unsigned int    /* event_mask */,
  2124.     int         /* pointer_mode */,
  2125.     int         /* keyboard_mode */,
  2126.     Window         /* confine_to */,
  2127.     Cursor         /* cursor */
  2128. );
  2129.  
  2130. extern void XtUngrabButton(
  2131.     Widget         /* widget */,
  2132.     unsigned int    /* button */,
  2133.     Modifiers         /* modifiers */
  2134. );
  2135.  
  2136. extern int XtGrabPointer(
  2137.     Widget         /* widget */,
  2138.     _XtBoolean         /* owner_events */,
  2139.     unsigned int    /* event_mask */,
  2140.     int         /* pointer_mode */,
  2141.     int         /* keyboard_mode */,
  2142.     Window         /* confine_to */,
  2143.     Cursor         /* cursor */,
  2144.     Time         /* time */
  2145. );
  2146.  
  2147. extern void XtUngrabPointer(
  2148.     Widget         /* widget */,
  2149.     Time         /* time */
  2150. );
  2151.  
  2152. extern void XtGetApplicationNameAndClass(
  2153.     Display*        /* dpy */,
  2154.     String*        /* name_return */,
  2155.     String*        /* class_return */
  2156. );
  2157.  
  2158. extern void XtRegisterDrawable(
  2159.     Display*        /* dpy */,
  2160.     Drawable        /* drawable */,
  2161.     Widget        /* widget */
  2162. );
  2163.  
  2164. extern void XtUnregisterDrawable(
  2165.     Display*        /* dpy */,
  2166.     Drawable        /* drawable */
  2167. );
  2168.  
  2169. extern Widget XtHooksOfDisplay(
  2170.     Display*        /* dpy */
  2171. );
  2172.  
  2173. typedef struct {
  2174.     String type;
  2175.     Widget widget;
  2176.     ArgList args;
  2177.     Cardinal num_args;
  2178. } XtCreateHookDataRec, *XtCreateHookData;
  2179.  
  2180. typedef struct {
  2181.     String type;
  2182.     Widget widget;
  2183.     XtPointer event_data;
  2184.     Cardinal num_event_data;
  2185. } XtChangeHookDataRec, *XtChangeHookData;
  2186.  
  2187. typedef struct {
  2188.     Widget old, req;
  2189.     ArgList args;
  2190.     Cardinal num_args;
  2191. } XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;
  2192.  
  2193. typedef struct {
  2194.     String type;
  2195.     Widget widget;
  2196.     XtGeometryMask changeMask;
  2197.     XWindowChanges changes;
  2198. } XtConfigureHookDataRec, *XtConfigureHookData;
  2199.  
  2200. typedef struct {
  2201.     String type;
  2202.     Widget widget;
  2203.     XtWidgetGeometry* request;
  2204.     XtWidgetGeometry* reply;
  2205.     XtGeometryResult result;
  2206. } XtGeometryHookDataRec, *XtGeometryHookData;
  2207.  
  2208. typedef struct {
  2209.     String type;
  2210.     Widget widget;
  2211. } XtDestroyHookDataRec, *XtDestroyHookData;
  2212.  
  2213. extern void XtGetDisplays(
  2214.     XtAppContext    /* app_context */,
  2215.     Display***        /* dpy_return */,
  2216.     Cardinal*        /* num_dpy_return */
  2217. );
  2218.  
  2219. extern Boolean XtToolkitThreadInitialize(
  2220.     void
  2221. );
  2222.  
  2223. extern void XtAppSetExitFlag(
  2224.     XtAppContext    /* app_context */
  2225. );
  2226.  
  2227. extern Boolean XtAppGetExitFlag(
  2228.     XtAppContext    /* app_context */
  2229. );
  2230.  
  2231. extern void XtAppLock(
  2232.     XtAppContext    /* app_context */
  2233. );
  2234.  
  2235. extern void XtAppUnlock(
  2236.     XtAppContext    /* app_context */
  2237. );
  2238.  
  2239. /*
  2240.  *    Predefined Resource Converters
  2241.  */
  2242.  
  2243.  
  2244. /* String converters */
  2245.  
  2246. extern Boolean XtCvtStringToAcceleratorTable(
  2247.     Display*    /* dpy */,
  2248.     XrmValuePtr /* args */,    /* none */
  2249.     Cardinal*   /* num_args */,    
  2250.     XrmValuePtr    /* fromVal */,
  2251.     XrmValuePtr    /* toVal */,
  2252.     XtPointer*    /* closure_ret */
  2253. );
  2254.  
  2255. extern Boolean XtCvtStringToAtom(
  2256.     Display*    /* dpy */,
  2257.     XrmValuePtr /* args */,    /* Display */
  2258.     Cardinal*   /* num_args */,    
  2259.     XrmValuePtr    /* fromVal */,
  2260.     XrmValuePtr    /* toVal */,
  2261.     XtPointer*    /* closure_ret */
  2262. );
  2263.  
  2264. extern Boolean XtCvtStringToBool(
  2265.     Display*    /* dpy */,
  2266.     XrmValuePtr /* args */,    /* none */
  2267.     Cardinal*   /* num_args */,    
  2268.     XrmValuePtr    /* fromVal */,
  2269.     XrmValuePtr    /* toVal */,
  2270.     XtPointer*    /* closure_ret */
  2271. );
  2272.  
  2273. extern Boolean XtCvtStringToBoolean(
  2274.     Display*    /* dpy */,
  2275.     XrmValuePtr /* args */,    /* none */
  2276.     Cardinal*   /* num_args */,    
  2277.     XrmValuePtr    /* fromVal */,
  2278.     XrmValuePtr    /* toVal */,
  2279.     XtPointer*    /* closure_ret */
  2280. );
  2281.  
  2282. extern Boolean XtCvtStringToCommandArgArray(
  2283.     Display*    /* dpy */,
  2284.     XrmValuePtr /* args */,    /* none */
  2285.     Cardinal*   /* num_args */,    
  2286.     XrmValuePtr    /* fromVal */,
  2287.     XrmValuePtr    /* toVal */,
  2288.     XtPointer*    /* closure_ret */
  2289. );
  2290.  
  2291. extern Boolean XtCvtStringToCursor(
  2292.     Display*    /* dpy */,
  2293.     XrmValuePtr /* args */,    /* Display */
  2294.     Cardinal*   /* num_args */,    
  2295.     XrmValuePtr    /* fromVal */,
  2296.     XrmValuePtr    /* toVal */,
  2297.     XtPointer*    /* closure_ret */
  2298. );
  2299.  
  2300. extern Boolean XtCvtStringToDimension(
  2301.     Display*    /* dpy */,
  2302.     XrmValuePtr /* args */,    /* none */
  2303.     Cardinal*   /* num_args */,    
  2304.     XrmValuePtr    /* fromVal */,
  2305.     XrmValuePtr    /* toVal */,
  2306.     XtPointer*    /* closure_ret */
  2307. );
  2308.  
  2309. extern Boolean XtCvtStringToDirectoryString(
  2310.     Display*    /* dpy */,
  2311.     XrmValuePtr /* args */,    /* none */
  2312.     Cardinal*   /* num_args */,    
  2313.     XrmValuePtr    /* fromVal */,
  2314.     XrmValuePtr    /* toVal */,
  2315.     XtPointer*    /* closure_ret */
  2316. );
  2317.  
  2318. extern Boolean XtCvtStringToDisplay(
  2319.     Display*    /* dpy */,
  2320.     XrmValuePtr /* args */,    /* none */
  2321.     Cardinal*   /* num_args */,    
  2322.     XrmValuePtr    /* fromVal */,
  2323.     XrmValuePtr    /* toVal */,
  2324.     XtPointer*    /* closure_ret */
  2325. );
  2326.  
  2327. extern Boolean XtCvtStringToFile(
  2328.     Display*    /* dpy */,
  2329.     XrmValuePtr /* args */,    /* none */
  2330.     Cardinal*   /* num_args */,    
  2331.     XrmValuePtr    /* fromVal */,
  2332.     XrmValuePtr    /* toVal */,
  2333.     XtPointer*    /* closure_ret */
  2334. );
  2335.  
  2336. extern Boolean XtCvtStringToFloat(
  2337.     Display*    /* dpy */,
  2338.     XrmValuePtr /* args */,    /* none */
  2339.     Cardinal*   /* num_args */,    
  2340.     XrmValuePtr    /* fromVal */,
  2341.     XrmValuePtr    /* toVal */,
  2342.     XtPointer*    /* closure_ret */
  2343. );
  2344.  
  2345. extern Boolean XtCvtStringToFont(
  2346.     Display*    /* dpy */,
  2347.     XrmValuePtr /* args */,    /* Display */
  2348.     Cardinal*   /* num_args */,    
  2349.     XrmValuePtr    /* fromVal */,
  2350.     XrmValuePtr    /* toVal */,
  2351.     XtPointer*    /* closure_ret */
  2352. );
  2353.  
  2354. extern Boolean XtCvtStringToFontSet(
  2355.     Display*    /* dpy */,
  2356.     XrmValuePtr /* args */,    /* Display, locale */
  2357.     Cardinal*   /* num_args */,    
  2358.     XrmValuePtr    /* fromVal */,
  2359.     XrmValuePtr    /* toVal */,
  2360.     XtPointer*    /* closure_ret */
  2361. );
  2362.  
  2363. extern Boolean XtCvtStringToFontStruct(
  2364.     Display*    /* dpy */,
  2365.     XrmValuePtr /* args */,    /* Display */
  2366.     Cardinal*   /* num_args */,    
  2367.     XrmValuePtr    /* fromVal */,
  2368.     XrmValuePtr    /* toVal */,
  2369.     XtPointer*    /* closure_ret */
  2370. );
  2371.  
  2372. extern Boolean XtCvtStringToGravity(
  2373.     Display*    /* dpy */,
  2374.     XrmValuePtr /* args */,
  2375.     Cardinal*   /* num_args */,    
  2376.     XrmValuePtr    /* fromVal */,
  2377.     XrmValuePtr    /* toVal */,
  2378.     XtPointer*    /* closure_ret */
  2379. );
  2380.  
  2381. extern Boolean XtCvtStringToInitialState(
  2382.     Display*    /* dpy */,
  2383.     XrmValuePtr /* args */,    /* none */
  2384.     Cardinal*   /* num_args */,    
  2385.     XrmValuePtr    /* fromVal */,
  2386.     XrmValuePtr    /* toVal */,
  2387.     XtPointer*    /* closure_ret */
  2388. );
  2389.  
  2390. extern Boolean XtCvtStringToInt(
  2391.     Display*    /* dpy */,
  2392.     XrmValuePtr /* args */,    /* none */
  2393.     Cardinal*   /* num_args */,    
  2394.     XrmValuePtr    /* fromVal */,
  2395.     XrmValuePtr    /* toVal */,
  2396.     XtPointer*    /* closure_ret */
  2397. );
  2398.  
  2399. extern Boolean XtCvtStringToPixel(
  2400.     Display*    /* dpy */,
  2401.     XrmValuePtr /* args */,    /* Screen, Colormap */
  2402.     Cardinal*   /* num_args */,    
  2403.     XrmValuePtr    /* fromVal */,
  2404.     XrmValuePtr    /* toVal */,
  2405.     XtPointer*    /* closure_ret */
  2406. );
  2407.  
  2408. #define XtCvtStringToPosition XtCvtStringToShort
  2409.  
  2410. extern Boolean XtCvtStringToRestartStyle(
  2411.     Display*    /* dpy */,
  2412.     XrmValuePtr /* args */,    /* none */
  2413.     Cardinal*   /* num_args */,    
  2414.     XrmValuePtr    /* fromVal */,
  2415.     XrmValuePtr    /* toVal */,
  2416.     XtPointer*    /* closure_ret */
  2417. );
  2418.  
  2419. extern Boolean XtCvtStringToShort(
  2420.     Display*    /* dpy */,
  2421.     XrmValuePtr /* args */,    /* none */
  2422.     Cardinal*   /* num_args */,    
  2423.     XrmValuePtr    /* fromVal */,
  2424.     XrmValuePtr    /* toVal */,
  2425.     XtPointer*    /* closure_ret */
  2426. );
  2427.  
  2428. extern Boolean XtCvtStringToTranslationTable(
  2429.     Display*    /* dpy */,
  2430.     XrmValuePtr /* args */,    /* none */
  2431.     Cardinal*   /* num_args */,    
  2432.     XrmValuePtr    /* fromVal */,
  2433.     XrmValuePtr    /* toVal */,
  2434.     XtPointer*    /* closure_ret */
  2435. );
  2436.  
  2437. extern Boolean XtCvtStringToUnsignedChar(
  2438.     Display*    /* dpy */,
  2439.     XrmValuePtr /* args */,    /* none */
  2440.     Cardinal*   /* num_args */,    
  2441.     XrmValuePtr    /* fromVal */,
  2442.     XrmValuePtr    /* toVal */,
  2443.     XtPointer*    /* closure_ret */
  2444. );
  2445.  
  2446. extern Boolean XtCvtStringToVisual(
  2447.     Display*    /* dpy */,
  2448.     XrmValuePtr /* args */,    /* Screen, depth */
  2449.     Cardinal*   /* num_args */,    
  2450.     XrmValuePtr    /* fromVal */,
  2451.     XrmValuePtr    /* toVal */,
  2452.     XtPointer*    /* closure_ret */
  2453. );
  2454.  
  2455. /* int converters */
  2456.  
  2457. extern Boolean XtCvtIntToBool(
  2458.     Display*    /* dpy */,
  2459.     XrmValuePtr /* args */,    /* none */
  2460.     Cardinal*   /* num_args */,    
  2461.     XrmValuePtr    /* fromVal */,
  2462.     XrmValuePtr    /* toVal */,
  2463.     XtPointer*    /* closure_ret */
  2464. );
  2465.  
  2466. extern Boolean XtCvtIntToBoolean(
  2467.     Display*    /* dpy */,
  2468.     XrmValuePtr /* args */,    /* none */
  2469.     Cardinal*   /* num_args */,    
  2470.     XrmValuePtr    /* fromVal */,
  2471.     XrmValuePtr    /* toVal */,
  2472.     XtPointer*    /* closure_ret */
  2473. );
  2474.  
  2475. extern Boolean XtCvtIntToColor(
  2476.     Display*    /* dpy */,
  2477.     XrmValuePtr /* args */,    /* Screen, Colormap */
  2478.     Cardinal*   /* num_args */,    
  2479.     XrmValuePtr    /* fromVal */,
  2480.     XrmValuePtr    /* toVal */,
  2481.     XtPointer*    /* closure_ret */
  2482. );
  2483.  
  2484. #define XtCvtIntToDimension XtCvtIntToShort
  2485.  
  2486. extern Boolean XtCvtIntToFloat(
  2487.     Display*    /* dpy */,
  2488.     XrmValuePtr /* args */,    /* none */
  2489.     Cardinal*   /* num_args */,    
  2490.     XrmValuePtr    /* fromVal */,
  2491.     XrmValuePtr    /* toVal */,
  2492.     XtPointer*    /* closure_ret */
  2493. );
  2494.  
  2495. extern Boolean XtCvtIntToFont(
  2496.     Display*    /* dpy */,
  2497.     XrmValuePtr /* args */,    /* none */
  2498.     Cardinal*   /* num_args */,    
  2499.     XrmValuePtr    /* fromVal */,
  2500.     XrmValuePtr    /* toVal */,
  2501.     XtPointer*    /* closure_ret */
  2502. );
  2503.  
  2504. extern Boolean XtCvtIntToPixel(
  2505.     Display*    /* dpy */,
  2506.     XrmValuePtr /* args */,    /* none */
  2507.     Cardinal*   /* num_args */,    
  2508.     XrmValuePtr    /* fromVal */,
  2509.     XrmValuePtr    /* toVal */,
  2510.     XtPointer*    /* closure_ret */
  2511. );
  2512.  
  2513. extern Boolean XtCvtIntToPixmap(
  2514.     Display*    /* dpy */,
  2515.     XrmValuePtr /* args */,    /* none */
  2516.     Cardinal*   /* num_args */,    
  2517.     XrmValuePtr    /* fromVal */,
  2518.     XrmValuePtr    /* toVal */,
  2519.     XtPointer*    /* closure_ret */
  2520. );
  2521.  
  2522. #define XtCvtIntToPosition XtCvtIntToShort
  2523.  
  2524. extern Boolean XtCvtIntToShort(
  2525.     Display*    /* dpy */,
  2526.     XrmValuePtr /* args */,    /* none */
  2527.     Cardinal*   /* num_args */,    
  2528.     XrmValuePtr    /* fromVal */,
  2529.     XrmValuePtr    /* toVal */,
  2530.     XtPointer*    /* closure_ret */
  2531. );
  2532.  
  2533. extern Boolean XtCvtIntToUnsignedChar(
  2534.     Display*    /* dpy */,
  2535.     XrmValuePtr /* args */,    /* none */
  2536.     Cardinal*   /* num_args */,    
  2537.     XrmValuePtr    /* fromVal */,
  2538.     XrmValuePtr    /* toVal */,
  2539.     XtPointer*    /* closure_ret */
  2540. );
  2541.  
  2542. /* Color converter */
  2543.  
  2544. extern Boolean XtCvtColorToPixel(
  2545.     Display*    /* dpy */,
  2546.     XrmValuePtr /* args */,    /* none */
  2547.     Cardinal*   /* num_args */,    
  2548.     XrmValuePtr    /* fromVal */,
  2549.     XrmValuePtr    /* toVal */,
  2550.     XtPointer*    /* closure_ret */
  2551. );
  2552.  
  2553. /* Pixel converter */
  2554.  
  2555. #define XtCvtPixelToColor XtCvtIntToColor
  2556.  
  2557.  
  2558. _XFUNCPROTOEND
  2559.  
  2560. #endif /*_XtIntrinsic_h*/
  2561. /* DON'T ADD STUFF AFTER THIS #endif */
  2562.